
package SintaticoPacote.TratamentoErro;

import java.util.ArrayList;

/**
 *
 * @author pH, Beto
 */
public class TabelaErros {
    
    private static TabelaErros instance;
    private ArrayList<ErroTabela> tabelaErros;

    private TabelaErros() {
        init();
    }

    /**
     * Inicia ou reinicia a tabela de erros.
     * Quando utilizado, esvazia a tabela de erros, criando uma nova instância da mesma.
     */
    public void init() {
        tabelaErros = new ArrayList<ErroTabela>();
    }

    public static TabelaErros getInstance() {
        if(instance == null)
            instance = new TabelaErros();
        return instance;
    }

    /**
     * Adiciona um novo erro na tabela.
     *
     * @param erroTabela O erro a ser adicionado
     * @return true caso o erro seja adicionado ou false caso contrário
     */
    public boolean addErro(ErroTabela erroTabela) {
        return tabelaErros.add(erroTabela);
    }

    public ArrayList<ErroTabela> getTabelaErros() {
        return tabelaErros;
    }

    public void imprimeTabela(){

        for(int i = 0 ;i< tabelaErros.size();i++){
            System.out.println(tabelaErros.get(i).getDescricaoErro() + tabelaErros.get(i).getLinha());
        }
    }
    
}
